home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / DOS / PRGMMING / PBC30.ZIP / PHONE.BAS < prev    next >
Encoding:
BASIC Source File  |  1994-11-12  |  1.9 KB  |  63 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        PBClone  Copyright (c) 1990-1994  Thomas G. Hanlin III        |
  4. '   |                                                                      |
  5. '   +----------------------------------------------------------------------+
  6.  
  7.  
  8. FUNCTION Phone2Num& (PhoneNumber$)
  9.    FOR tmp% = 1 TO LEN(PhoneNumber$)
  10.       ch$ = UCASE$(MID$(PhoneNumber$, tmp%, 1))
  11.       IF ch$ >= "A" AND ch$ <= "Z" THEN
  12.          foo% = INSTR("ABCDEFGHIJKLMNOPRSTUVWXY", ch$)
  13.          IF foo% THEN
  14.             ch$ = MID$("222333444555666777888999", foo%, 1)
  15.          ELSE
  16.             ch$ = "bogus"
  17.          END IF
  18.       END IF
  19.       IF ch$ >= "0" AND ch$ <= "9" THEN foo$ = foo$ + ch$
  20.    NEXT
  21.    IF LEN(foo$) = 11 AND LEFT$(foo$, 1) = "1" THEN foo$ = MID$(foo$, 2)
  22.    IF LEN(foo$) = 4 OR LEN(foo$) = 7 OR LEN(foo$) = 10 THEN
  23.       foo$ = RIGHT$(STRING$(10, "0") + foo$, 10)
  24.       IF MID$(foo$, 2, 1) = "1" THEN
  25.          Negate% = -1
  26.       ELSEIF MID$(foo$, 2, 1) = "0" THEN
  27.          Negate% = 1
  28.       ELSE
  29.          Wrong% = -1
  30.       END IF
  31.       PhoneNr& = CLNG(VAL(LEFT$(foo$, 1) + MID$(foo$, 3)))
  32.    ELSE
  33.       Wrong% = -1
  34.    END IF
  35.    IF Wrong% THEN
  36.       Phone2Num& = -1&
  37.    ELSE
  38.       Phone2Num& = Negate% * PhoneNr&
  39.    END IF
  40. END FUNCTION
  41.  
  42. FUNCTION Num2Phone$ (Number&)
  43.    IF Number& = -1& THEN
  44.       Num2Phone$ = ""
  45.       EXIT FUNCTION
  46.    ELSEIF Number& < 0& THEN
  47.       Nr& = -Number&
  48.       Midget$ = "1"
  49.    ELSE
  50.       Nr& = Number&
  51.       Midget$ = "0"
  52.    END IF
  53.    foo$ = RIGHT$(STRING$(9, "0") + LTRIM$(STR$(Nr&)), 9)
  54.    foo$ = LEFT$(foo$, 1) + Midget$ + MID$(foo$, 2)
  55.    IF LEFT$(foo$, 6) = "000000" THEN
  56.       Num2Phone$ = RIGHT$(foo$, 4)
  57.    ELSEIF LEFT$(foo$, 3) = "000" THEN
  58.       Num2Phone$ = RIGHT$(foo$, 7)
  59.    ELSE
  60.       Num2Phone$ = foo$
  61.    END IF
  62. END FUNCTION
  63.